NVSHMEM 对称内存 · 深度拆解
📘 30 章 · 从入门到精通
01
NVSHMEM 概述
什么是 NVSHMEM
对比 MPI
对称内存/PE/Team
应用场景
02
对称内存的本质
对称内存定义
为什么需要
物理/虚拟地址映射
生命周期
03
对称内存分配 API 详解
nvshmem_malloc
nvshmem_calloc
nvshmem_realloc
nvshmem_free
04
对称内存初始化与销毁
nvshmem_init/finalize
内存池创建销毁
多进程初始化
05
对称内存的查询与属性
nvshmem_query
nvshmem_query_max
对齐要求
大小与偏移量
06
对称内存的 PE 间访问
全局地址空间
Put/Get 直接读写
同步语义
07
对称内存的分配策略
静态 vs 动态分配
内存池管理
碎片问题与优化
08
对称内存与 CUDA 交互
与设备内存关系
cudaMemcpy
CUDA Kernel 执行
09
对称内存的注册与映射
nvshmem_register/unregister
GPU 映射
多GPU可见性
10
对称内存的原子操作
原子加/交换
比较交换
内存序
11
对称内存的集合操作
Barrier/Broadcast
Reduce/Alltoall
内存布局要求
12
对称内存的调试与诊断
常见错误
调试工具
性能分析
13
对称内存的持久化
持久化概念
创建持久化内存
恢复与重用
14
对称内存的 NUMA 亲和性
NUMA 架构分配
绑定 PE 到 NUMA
优化访问延迟
15
对称内存的流式管理
与 CUDA Stream 关联
异步操作
Stream 同步
16
对称内存的虚拟地址空间
虚拟地址布局
多进程共享虚拟地址
地址转换与偏移
17
对称内存的锁机制
自旋锁/互斥锁
读写锁
锁的对称性
18
对称内存的批量操作
批量 Put/Get
向量化操作
非连续访问优化
19
对称内存的带宽优化
带宽特性
Bank Conflict 避免
对齐/合并访问
20
对称内存的延迟优化
延迟特性
预取/流水线
减少同步开销
21
对称内存的容错机制
检查点与恢复
冗余备份
错误检测纠正
22
对称内存的扩展性
大规模 GPU 集群
分布式管理
跨节点访问
23
对称内存的编程模型
SPMD 模型
PGAS 模型
隐式通信模式
24
对称内存与 NCCL 对比
NVSHMEM vs NCCL
适用场景
混合使用策略
25
对称内存的 Profiling
Nsight Systems
性能热点
访问模式分析
26
对称内存的 Best Practices
分配最佳实践
访问模式优化
与计算重叠
27
对称内存的进阶话题
异构访问
持久化内存交互
RDMA 支持
28
对称内存的案例分析
Stencil 计算
FFT
图计算
29
对称内存的陷阱与误区
常见误解
性能陷阱
调试难点
30
对称内存的未来发展
NVSHMEM 新特性
与 CXL 融合
AI 大模型应用